Controller area network (CAN) is a communication network for message transaction in a small-scale distributed environment. Usually, a CAN network is used for transferring information to and from sensors and actuators in a system or sub-system for real-time control applications. It is used extensively in automotive and control systems to transmit and receive messages across different electronic control units (nodes).
The CAN bus was designed to operate at speeds up to 1 Mbps. Data is transmitted in messages containing between 0 to 8 bytes. Each message has a header, called an “identifier”, that is 11 bits or 29 bits long. Based on the identifier, the individual nodes decide whether or not to process the message and also determine the priority of the message in terms of competition for bus access.
When two nodes start transmitting messages simultaneously in a controller area network, the higher priority message overrides the lower priority message. Therefore, the node with lowest priority once again tries to gain access on the bus when the bus is idle. It may, however, be possible that the lower priority node never gets an access to the bus for transmission. These low priority messages will have more latency time compared to the high priority messages. This latency prevents the CAN bus from operating on the real time system where all the messages have to be transmitted at regular intervals without any latency.
In order to design a controller area network and to ensure that low priority messages are missed to the least extent possible, bus traffic measurements may be required to be carried out. The effectiveness of transmission (throughput) is gauged based on the amount of data transmitted in a given time.
Generally, CAN analyzers are used for analyzing bus traffic on a CAN network. They may form part of the CAN network, and may be used to continuously monitor and display the bus traffic measurements. Further, a designer may be required to comply with performance requirements for the CAN network for efficient use of CAN network communication, which may involve several iterations.
However, there is a requirement for much detailed information on CAN performance parameters in order to optimize the design of the CAN network. Also, since design of the CAN network may involve several iterations to achieve a desired message transfer, bus occupancy measurement is required.